{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# GroupBy examples\n",
    "\n",
    "Allen Downey\n",
    "\n",
    "[MIT License](https://en.wikipedia.org/wiki/MIT_License)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set(style='white')\n",
    "\n",
    "from thinkstats2 import Pmf, Cdf\n",
    "\n",
    "import thinkstats2\n",
    "import thinkplot\n",
    "\n",
    "decorate = thinkplot.config"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's load the GSS dataset."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 164 ms, sys: 40.2 ms, total: 204 ms\n",
      "Wall time: 203 ms\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>year</th>\n",
       "      <th>id_</th>\n",
       "      <th>agewed</th>\n",
       "      <th>divorce</th>\n",
       "      <th>sibs</th>\n",
       "      <th>childs</th>\n",
       "      <th>age</th>\n",
       "      <th>educ</th>\n",
       "      <th>paeduc</th>\n",
       "      <th>maeduc</th>\n",
       "      <th>...</th>\n",
       "      <th>memchurh</th>\n",
       "      <th>realinc</th>\n",
       "      <th>cohort</th>\n",
       "      <th>marcohrt</th>\n",
       "      <th>ballot</th>\n",
       "      <th>wtssall</th>\n",
       "      <th>adults</th>\n",
       "      <th>compuse</th>\n",
       "      <th>databank</th>\n",
       "      <th>wtssnr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1972</td>\n",
       "      <td>167</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>13537.0</td>\n",
       "      <td>1946.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.8893</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1972</td>\n",
       "      <td>1256</td>\n",
       "      <td>30</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>38.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>97</td>\n",
       "      <td>99</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>18951.0</td>\n",
       "      <td>1934.0</td>\n",
       "      <td>1964</td>\n",
       "      <td>0</td>\n",
       "      <td>0.4446</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1972</td>\n",
       "      <td>415</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>30458.0</td>\n",
       "      <td>1915.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.3339</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1972</td>\n",
       "      <td>234</td>\n",
       "      <td>18</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "      <td>61.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>8</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>37226.0</td>\n",
       "      <td>1911.0</td>\n",
       "      <td>1929</td>\n",
       "      <td>0</td>\n",
       "      <td>0.8893</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1972</td>\n",
       "      <td>554</td>\n",
       "      <td>22</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>59.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>6</td>\n",
       "      <td>11</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>30458.0</td>\n",
       "      <td>1913.0</td>\n",
       "      <td>1935</td>\n",
       "      <td>0</td>\n",
       "      <td>0.8893</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 101 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   year   id_  agewed  divorce  sibs  childs   age  educ  paeduc  maeduc  \\\n",
       "0  1972   167       0        0     2       0  26.0  18.0      12      12   \n",
       "1  1972  1256      30        2     0       1  38.0  12.0      97      99   \n",
       "2  1972   415       0        0     7       0  57.0  12.0       7       7   \n",
       "3  1972   234      18        1     6       3  61.0  14.0       8       5   \n",
       "4  1972   554      22        2     3       3  59.0  12.0       6      11   \n",
       "\n",
       "    ...    memchurh  realinc  cohort  marcohrt  ballot  wtssall  adults  \\\n",
       "0   ...           0  13537.0  1946.0         0       0   0.8893     2.0   \n",
       "1   ...           0  18951.0  1934.0      1964       0   0.4446     1.0   \n",
       "2   ...           0  30458.0  1915.0         0       0   1.3339     3.0   \n",
       "3   ...           0  37226.0  1911.0      1929       0   0.8893     2.0   \n",
       "4   ...           0  30458.0  1913.0      1935       0   0.8893     2.0   \n",
       "\n",
       "   compuse  databank  wtssnr  \n",
       "0        0         0     1.0  \n",
       "1        0         0     1.0  \n",
       "2        0         0     1.0  \n",
       "3        0         0     1.0  \n",
       "4        0         0     1.0  \n",
       "\n",
       "[5 rows x 101 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%time gss = pd.read_hdf('../homeworks/gss.hdf5', 'gss')\n",
    "gss.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def counts(series):\n",
    "    return series.value_counts(sort=False).sort_index()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The GSS interviews a few thousand respondents each year."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1972    1613\n",
       "1973    1504\n",
       "1974    1484\n",
       "1975    1490\n",
       "1976    1499\n",
       "1977    1530\n",
       "1978    1532\n",
       "1980    1468\n",
       "1982    1860\n",
       "1983    1599\n",
       "1984    1473\n",
       "1985    1534\n",
       "1986    1470\n",
       "1987    1819\n",
       "1988    1481\n",
       "1989    1537\n",
       "1990    1372\n",
       "1991    1517\n",
       "1993    1606\n",
       "1994    2992\n",
       "1996    2904\n",
       "1998    2832\n",
       "2000    2817\n",
       "2002    2765\n",
       "2004    2812\n",
       "2006    4510\n",
       "2008    2023\n",
       "2010    2044\n",
       "2012    1974\n",
       "2014    2538\n",
       "2016    2867\n",
       "Name: year, dtype: int64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "counts(gss['year'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "One of the [questions](https://gssdataexplorer.norc.org/projects/52787/variables/285/vshow) they ask is \"Do you think the use of marijuana should be made legal or not?\"\n",
    "\n",
    "The answer codes are:\n",
    "\n",
    "```\n",
    "1\tLegal\n",
    "2\tNot legal\n",
    "8\tDon't know\n",
    "9\tNo answer\n",
    "0\tNot applicable\n",
    "```\n",
    "\n",
    "Here is the distribution of responses for all years."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    24398\n",
       "1    11027\n",
       "2    25195\n",
       "8     1733\n",
       "9      113\n",
       "Name: grass, dtype: int64"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "counts(gss['grass'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "I'll replace \"Don't know\", \"No answer\", and \"Not applicable\" with NaN."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "gss['grass'].replace([0,8,9], np.nan, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And replace `2`, which represents \"No\", with `1`.  That way we can use `mean` to compute the fraction in favor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "gss['grass'].replace(2, 0, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here are the value counts after replacement."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0    25195\n",
       "1.0    11027\n",
       "Name: grass, dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "counts(gss['grass'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And here's the mean."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.3044282480260615"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gss['grass'].mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So 30% of respondents thought marijuana should be legal, at the time they were interviewed.\n",
    "\n",
    "Now we can see how that fraction depends on age, cohort (year of birth), and period (year of interview).\n",
    "\n",
    "### Group by year\n",
    "\n",
    "First we'll group respondents by year."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<pandas.core.groupby.groupby.DataFrameGroupBy object at 0x7f49bdd8ac18>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped = gss.groupby('year')\n",
    "grouped"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The result in a `DataFrameGroupBy` object we can iterate through:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1972 1613\n",
      "1973 1504\n",
      "1974 1484\n",
      "1975 1490\n",
      "1976 1499\n",
      "1977 1530\n",
      "1978 1532\n",
      "1980 1468\n",
      "1982 1860\n",
      "1983 1599\n",
      "1984 1473\n",
      "1985 1534\n",
      "1986 1470\n",
      "1987 1819\n",
      "1988 1481\n",
      "1989 1537\n",
      "1990 1372\n",
      "1991 1517\n",
      "1993 1606\n",
      "1994 2992\n",
      "1996 2904\n",
      "1998 2832\n",
      "2000 2817\n",
      "2002 2765\n",
      "2004 2812\n",
      "2006 4510\n",
      "2008 2023\n",
      "2010 2044\n",
      "2012 1974\n",
      "2014 2538\n",
      "2016 2867\n"
     ]
    }
   ],
   "source": [
    "for name, group in grouped:\n",
    "    print(name, len(group))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And we can compute summary statistics for each group."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1972 nan\n",
      "1973 0.20136518771331058\n",
      "1974 nan\n",
      "1975 0.22569198012775019\n",
      "1976 0.29395604395604397\n",
      "1977 nan\n",
      "1978 0.3056501021102791\n",
      "1980 0.2585844428871759\n",
      "1982 nan\n",
      "1983 0.23943661971830985\n",
      "1984 0.2147887323943662\n",
      "1985 nan\n",
      "1986 0.17466945024356298\n",
      "1987 0.15506508205998867\n",
      "1988 0.1705170517051705\n",
      "1989 0.17492416582406473\n",
      "1990 0.15940366972477063\n",
      "1991 0.17775467775467776\n",
      "1993 0.24342745861733203\n",
      "1994 0.24722075172048702\n",
      "1996 0.28713910761154854\n",
      "1998 0.2966589861751152\n",
      "2000 0.3395810363836825\n",
      "2002 0.3403755868544601\n",
      "2004 0.35785536159601\n",
      "2006 0.3435155412647374\n",
      "2008 0.4001597444089457\n",
      "2010 0.4773988897700238\n",
      "2012 0.4835341365461847\n",
      "2014 0.5790147152911068\n",
      "2016 0.5911039657020365\n"
     ]
    }
   ],
   "source": [
    "for name, group in grouped:\n",
    "    print(name, group['grass'].mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using a for loop can be useful for debugging, but it is more concise, more idiomatic, and faster to apply operations directly to the `DataFrameGroupBy` object.\n",
    "\n",
    "For example, if you select a column from a `DataFrameGroupBy`, the result is a `SeriesGroupBy` that represents one `Series` for each group."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<pandas.core.groupby.groupby.SeriesGroupBy object at 0x7f49bdd874e0>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grouped['grass']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can loop through the `SeriesGroupBy`, but you normally don't."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1972 nan\n",
      "1973 0.20136518771331058\n",
      "1974 nan\n",
      "1975 0.22569198012775019\n",
      "1976 0.29395604395604397\n",
      "1977 nan\n",
      "1978 0.3056501021102791\n",
      "1980 0.2585844428871759\n",
      "1982 nan\n",
      "1983 0.23943661971830985\n",
      "1984 0.2147887323943662\n",
      "1985 nan\n",
      "1986 0.17466945024356298\n",
      "1987 0.15506508205998867\n",
      "1988 0.1705170517051705\n",
      "1989 0.17492416582406473\n",
      "1990 0.15940366972477063\n",
      "1991 0.17775467775467776\n",
      "1993 0.24342745861733203\n",
      "1994 0.24722075172048702\n",
      "1996 0.28713910761154854\n",
      "1998 0.2966589861751152\n",
      "2000 0.3395810363836825\n",
      "2002 0.3403755868544601\n",
      "2004 0.35785536159601\n",
      "2006 0.3435155412647374\n",
      "2008 0.4001597444089457\n",
      "2010 0.4773988897700238\n",
      "2012 0.4835341365461847\n",
      "2014 0.5790147152911068\n",
      "2016 0.5911039657020365\n"
     ]
    }
   ],
   "source": [
    "for name, series in grouped['grass']:\n",
    "    print(name, series.mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Instead, you can apply a function to the `SeriesGroupBy`; the result is a new `Series` that maps from group names to the results from the function; in this case, it's the fraction of support for each interview year."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "year\n",
       "1972         NaN\n",
       "1973    0.201365\n",
       "1974         NaN\n",
       "1975    0.225692\n",
       "1976    0.293956\n",
       "1977         NaN\n",
       "1978    0.305650\n",
       "1980    0.258584\n",
       "1982         NaN\n",
       "1983    0.239437\n",
       "1984    0.214789\n",
       "1985         NaN\n",
       "1986    0.174669\n",
       "1987    0.155065\n",
       "1988    0.170517\n",
       "1989    0.174924\n",
       "1990    0.159404\n",
       "1991    0.177755\n",
       "1993    0.243427\n",
       "1994    0.247221\n",
       "1996    0.287139\n",
       "1998    0.296659\n",
       "2000    0.339581\n",
       "2002    0.340376\n",
       "2004    0.357855\n",
       "2006    0.343516\n",
       "2008    0.400160\n",
       "2010    0.477399\n",
       "2012    0.483534\n",
       "2014    0.579015\n",
       "2016    0.591104\n",
       "Name: grass, dtype: float64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "series = grouped['grass'].mean()\n",
    "series"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Overall support for legalization has been increasing since 1990."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "series.plot(color='C0')\n",
    "decorate(xlabel='Year of interview', \n",
    "         ylabel='% in favor',\n",
    "         title='Should marijuana be made legal?')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Group by cohort\n",
    "\n",
    "The variable `cohort` contains respondents' year of birth."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1883.0      2\n",
       "1884.0      3\n",
       "1885.0      2\n",
       "1886.0      4\n",
       "1887.0     10\n",
       "1888.0      5\n",
       "1889.0     14\n",
       "1890.0     19\n",
       "1891.0     25\n",
       "1892.0     20\n",
       "1893.0     29\n",
       "1894.0     47\n",
       "1895.0     43\n",
       "1896.0     41\n",
       "1897.0     52\n",
       "1898.0     62\n",
       "1899.0     93\n",
       "1900.0    120\n",
       "1901.0    104\n",
       "1902.0    111\n",
       "1903.0    128\n",
       "1904.0    138\n",
       "1905.0    169\n",
       "1906.0    171\n",
       "1907.0    236\n",
       "1908.0    191\n",
       "1909.0    257\n",
       "1910.0    236\n",
       "1911.0    255\n",
       "1912.0    326\n",
       "         ... \n",
       "1969.0    813\n",
       "1970.0    809\n",
       "1971.0    691\n",
       "1972.0    649\n",
       "1973.0    671\n",
       "1974.0    641\n",
       "1975.0    570\n",
       "1976.0    542\n",
       "1977.0    536\n",
       "1978.0    483\n",
       "1979.0    590\n",
       "1980.0    476\n",
       "1981.0    467\n",
       "1982.0    413\n",
       "1983.0    342\n",
       "1984.0    335\n",
       "1985.0    371\n",
       "1986.0    278\n",
       "1987.0    306\n",
       "1988.0    205\n",
       "1989.0    227\n",
       "1990.0    185\n",
       "1991.0    188\n",
       "1992.0    107\n",
       "1993.0    116\n",
       "1994.0    116\n",
       "1995.0     89\n",
       "1996.0     50\n",
       "1997.0     53\n",
       "1998.0      6\n",
       "Name: cohort, Length: 116, dtype: int64"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "counts(gss['cohort'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pulling together the code from the previous section, we can plot support for legalization by year of birth."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "grouped = gss.groupby('cohort')\n",
    "series = grouped['grass'].mean()\n",
    "series.plot(color='C1')\n",
    "decorate(xlabel='Year of birth', \n",
    "         ylabel='% in favor',\n",
    "         title='Should marijuana be made legal?')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Later generations are more likely to support legalization than earlier generations."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Group by age\n",
    "\n",
    "Finally, let's see how support varies with age at time of interview."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "grouped = gss.groupby('age')\n",
    "series = grouped['grass'].mean()\n",
    "series.plot(color='C2')\n",
    "decorate(xlabel='Age at interview', \n",
    "         ylabel='% in favor',\n",
    "         title='Should marijuana be made legal?')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Younger people are more likely to support legalization than old people.\n",
    "\n",
    "In general, it is not easy to separate period, cohort, and age effects, but there are ways.  We'll come back to this example to see how."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
